package com.example.demo.design.decorator;

/**
 * @Author: liull
 * @Description:
 * @Date: Created in 15:22 2020/12/24
 * @Modified By:
 */
public class Decorator implements Component {

    /**
     * 维持一个对抽象构建的引用
     */
    private Component component;

    public Decorator(Component component) {
        this.component = component;
    }

    @Override
    /**
     * 需要注意的是在Decorator中并未真正实现operation()方法，而只是调用原有 component对象的operation()方法，它没有真正实施装饰，而是提供一个统一的接口，将具体装 饰过程交给子类完成。
     */
    public void operation() {
        // 调用原有的业务方法
        component.operation();
    }
}
